草庐IT

SciPy 插值

全部标签

python - scipy:基本说明

我并不理解coo_matrix、csr_matrix和csc_matrix之间的区别。文档确实提到coo_matrix对于算术运算效率不高,我们需要将其转换为csr或csc。我正在研究矩阵乘法。如果我只有一个coo_matrix并将其转换为csr或csv矩阵,我不明白幕后发生了什么。另外如果我有类似的东西A=array([[1,2,3,0,0,5],[5,0,0,1,2,0]])printcoo_matrix(A)打印(0,0)1(0,1)2(0,2)3(0,5)5这很酷。但是有没有办法,我可以直接输入我的矩阵作为打印的矩阵。类似于定义一个空COO矩阵,然后开始定义coo_matrix

python - 为什么 **kwargs 不使用 python ConfigObj 进行插值?

我正在使用ConfigObj在带有模板样式插值的python中。通过**打开我的配置字典似乎没有进行插值。这是功能还是错误?有什么好的解决方法吗?$catmy.conffoo=/testbar=$foo/directory>>>importconfigobj>>>config=configobj.ConfigObj('my.conf',interpolation='Template')>>>config['bar']'/test/directory'>>>'{bar}'.format(**config)'$foo/directory'我希望第二行是/test/directory。为什么

python - 带有元数据的 scipy kdtree

我目前正在寻找一种方法来构建几个kd树以快速查询一些n维数据。但是,我在使用scipyKD树算法时遇到了一些问题我的数据由id->{data:somedata,coordinate:x,y}组成我希望能够根据坐标和k近邻的ID进行查询,并获得修复半径近邻的ID。从KDTree和cKDtree的scipy实现来看,这个是不可用的。我的其他选择是编写我自己的KD树,这不会那么好,因为我只是我,或者......? 最佳答案 从玩弄KDTree,看起来它坚持要将一个类似于对象的2Dnumpy数组提供给它的构造函数,但是API将索引返回到该数

python - 如何使用 numpy(和 scipy)查找函数的所有零点?

假设我在a和b之间定义了一个函数f(x)。这个函数可以有很多零点,也可以有很多渐近线。我需要检索此函数的所有零。最好的方法是什么?其实我的策略是这样的:我根据给定的点数评估我的函数我检测是否有符号变化我在改变符号的点之间找到零我验证找到的零是否真的是零,或者这是否是渐近线U=numpy.linspace(a,b,100)#evaluatefunctionat100differentpointsc=f(U)s=numpy.sign(c)foriinrange(100-1):ifs[i]+s[i+1]==0:#opositesignsu=scipy.optimize.brentq(f,U[

python - Scipy 稀疏矩阵 - 密集向量乘法性能 - block 与大型矩阵

我有许多scipy稀疏矩阵(目前为CSR格式),我需要将它们与密集的numpy一维向量相乘。该向量称为G:printG.shape,G.dtype(2097152,)complex64每个稀疏矩阵的形状都是(16384,2097152)并且非常稀疏。密度约为4.0e-6。我有一个包含100个稀疏矩阵的列表,称为spmats。我可以像这样轻松地将每个矩阵与G相乘:res=[spmat.dot(G)forspmatinspmats]这会按预期生成形状为(16384,)的密集向量列表。我的应用程序对性能相当关键,所以我尝试了一种替代方法,即首先将所有稀疏矩阵连接成一个大的稀疏矩阵,然后只使用

python - 使用索引和值将值添加到 Scipy 稀疏矩阵

我正在研究电力系统分析程序,我需要使用稀疏矩阵。有一个例程,我只使用以下调用填充稀疏矩阵:self.A=bsr_matrix((val,(row,col)),shape=(nele,nbus),dtype=complex)因为这个矩阵不会随时间改变。另一个矩阵确实会随着时间的推移而变化,我需要更新它。有没有办法,例如:co=[2,3,6]row=[5,5,5]val=[0.1+0.1j,0.1-0.2j,0.1-0.4j]我可以将它们添加到先前初始化的稀疏矩阵吗?怎样才是更Pythonic的方式来做到这一点?谢谢 最佳答案 您应该改

python - 如何在 Scipy 中定义具有时间延迟的 LTI 系统?

具有时间延迟的LTI系统的传递函数具有分子项exp(-Td*s),其中Td是时间延迟。在Matlab中,可以通过多种方式创建这样的LTI系统(例如,使用“s”运算符并直接设置指数项,或者通过设置inputdelayoutputdelay属性tf对象。)但是,我无法在ScipySignalLTI对象中找到任何方法来执行此操作。我也检查了Python控制系统库,但仍然找不到方法。我不想对时间延迟使用Pade近似,而是想为LTI系统设置准确的时间延迟。有谁知道如何在Scipy或任何其他外部Python库中实现这一点? 最佳答案 我检查了g

Python - scipy.optimize curve_fit 可获得 R 平方和绝对平方和?

我正在使用curve_fit拟合曲线。有没有办法读出决定系数和绝对平方和?谢谢,啄木鸟 最佳答案 Accordingtodoc,用curve_fit优化给你Optimalvaluesfortheparameterssothatthesumofthesquarederroroff(xdata,*popt)-ydataisminimized然后,使用optimize.leastsqimportscipy.optimizep,cov,infodict,mesg,ier=optimize.leastsq(residuals,a_guess,

python - 插值忽略数组中的零值 - Python

我有两个相同长度的数组x=array([-243.,-242.,-241.,-240.,-239.,-238.,-237.,-236.,-235.,-234.,-233.,-232.,-231.,-230.,-229.,-228.,-227.,-226.,-225.,-224.,-223.,-222.,-221.,-220.,-219.,-218.,-217.,-216.,-215.,-214.,-213.,-212.,-211.,-210.,-209.,-208.,-207.,-206.,-205.,-204.,-203.,-202.,-201.,-200.,-199.,-198.,

python - 来自 scipy.optimize 的 python 中 curve_fit 和 leastsq 之间的区别

我有一个函数包含:自变量X,因变量Y两个固定参数a和b。使用相同的实验数据,curve_fit和leastsq函数都可以拟合到具有相似结果的函数。使用curve_fit我有:[2.50110215e-04,7.80730380e-05]用于固定参数a和b。使用leastsq我有:[2.50110267e-04,7.80730843e-05]用于固定参数a和b。我想知道这两者是否有区别,如果有,什么情况下应该使用curve_fit,什么情况下应该使用leastsq? 最佳答案 curve-fit使用leastsq进行计算,因此它们应该